#include "CAllocater.h"

CBase::CBase()
{
    KdPrint(("[Debug] CBase::CBase()\r\n"));
}

CBase::~CBase()
{
    KdPrint(("[Debug] CBase::~CBase()\r\n"));
}

PVOID CBase::operator new(size_t qwSize, POOL_FLAGS fPoolFlags, ULONG dwTag)
{
    KdPrint(("[Debug] CBase::new()\r\n"));
    return ExAllocatePool2(fPoolFlags, qwSize, dwTag);
}
VOID CBase::operator delete(PVOID pBuffer)
{
    KdPrint(("[Debug] CBase::delete()\r\n"));
    ExFreePool(pBuffer);
}

VOID CBase::PrintClassName()
{
    KdPrint(("[Debug] CBase::PrintClassName\r\n"));
}

VOID CBase::TellSomething()
{
    KdPrint(("[Debug] CBase\r\n"));
}


CDerived::CDerived()
{
    KdPrint(("[Debug] CDerived::CDerived()\r\n"));
}

CDerived::~CDerived()
{
    KdPrint(("[Debug] CDerived::~CDerived()\r\n"));
}

PVOID CDerived::operator new(size_t qwSize, POOL_FLAGS fPoolFlags, ULONG dwTag)
{
    KdPrint(("[Debug] CDerived::new()\r\n"));
    return ExAllocatePool2(fPoolFlags, qwSize, dwTag);
}
VOID CDerived::operator delete(PVOID pBuffer)
{
    KdPrint(("[Debug] CDerived::delete()\r\n"));
    ExFreePool(pBuffer);
}

VOID CDerived::PrintClassName()
{
    KdPrint(("[Debug] CDerived::PrintClassName\r\n"));
}

VOID CDerived::TellSomething()
{
    KdPrint(("[Debug] CDerived\r\n"));
}
